home *** CD-ROM | disk | FTP | other *** search
/ Gamers Delight 2 / Gamers Delight 2.iso / Aminet / game / board / IGNUChess151.lha / GNUChess-1.51 / gadget.c < prev    next >
C/C++ Source or Header  |  1994-02-10  |  7KB  |  271 lines

  1. /************************************************************************/
  2. /* Gadget definitions                                                    */
  3. /************************************************************************/
  4.  
  5. #include <intuition/gadgetclass.h>
  6.  
  7. #include <libraries/gadtools.h>
  8.  
  9. #include <proto/gadtools.h>
  10.  
  11. #include "global.h"
  12. #include "gfx.h"
  13. #include "gnuchess.h"
  14. #include "Interface.h"
  15.  
  16. static struct NewGadget NGArray[GADGETS] = {
  17.     {   6,  31, 185,  24, "White"     , &TA_Courier15, GAD_WHITE     , PLACETEXT_BELOW, NULL, NULL },
  18.     { 209,  31, 185,  24, "Black"     , &TA_Courier15, GAD_BLACK     , PLACETEXT_BELOW, NULL, NULL },
  19.     {   6,  76, 388,  24, "Tournament", &TA_Courier15, GAD_TOURNAMENT, PLACETEXT_BELOW, NULL, NULL },
  20.     {   6, 121, 388,  24, "Opening"   , &TA_Courier15, GAD_OPENING   , PLACETEXT_BELOW, NULL, NULL },
  21.     {   6, 166, 388,  24, "Note"      , &TA_Courier15, GAD_NOTE      , PLACETEXT_BELOW, NULL, NULL },
  22.     {   6, 219,  80,  24, "OK"        , &TA_Courier15, GAD_OK        , PLACETEXT_IN   , NULL, NULL },
  23.     {  96, 219,  80,  24, "CANCEL"    , &TA_Courier15, GAD_CANCEL     , PLACETEXT_IN   , NULL, NULL },
  24.     { 186, 219,  80,  24, "CLEAR"     , &TA_Courier15, GAD_CLEAR     , PLACETEXT_IN   , NULL, NULL },
  25.  
  26.     { 112, 371, 102,  24, "OK"       , &TA_Courier15, GAD_OK        , PLACETEXT_IN   , NULL, NULL },
  27.     { 112, 342, 102,  24, "DEFAULT"  , &TA_Courier15, GAD_DEFAULT    , PLACETEXT_IN   , NULL, NULL },
  28.     {   6, 371, 102,  24, "CLEAR"    , &TA_Courier15, GAD_CLEAR        , PLACETEXT_IN   , NULL, NULL },
  29.     {   6, 313, 208,  24, NULL       , &TA_Courier15, GAD_TOMOVE    , PLACETEXT_IN   , NULL, NULL },
  30.     {  56, 342,  52,  24, "No."      , &TA_Courier15, GAD_MOVENUM    , PLACETEXT_LEFT , NULL, NULL }
  31. };
  32.  
  33. static char *ToMoveText[] = {
  34.     "WHITE TO MOVE",
  35.     "BLACK TO MOVE",
  36.     NULL
  37. };
  38.  
  39. static struct Gadget GAD_EdB12 = {
  40.     NULL, 58, 258, 48, 48,
  41.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  42.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  43.     GTYP_BOOLGADGET,
  44.     (APTR) &SKWFImage, (APTR) &SKSFImage,
  45.     NULL, 0, NULL,
  46.     GAD_SK,
  47.     NULL
  48. };
  49.  
  50. static struct Gadget GAD_EdB11 = {
  51.     &GAD_EdB12, 8, 258, 48, 48,
  52.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  53.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  54.     GTYP_BOOLGADGET,
  55.     (APTR) &WKWFImage, (APTR) &WKSFImage,
  56.     NULL, 0, NULL,
  57.     GAD_WK,
  58.     NULL
  59. };
  60.  
  61. static struct Gadget GAD_EdB10 = {
  62.     &GAD_EdB11, 58, 208, 48, 48,
  63.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  64.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  65.     GTYP_BOOLGADGET,
  66.     (APTR) &SDWFImage, (APTR) &SDSFImage,
  67.     NULL, 0, NULL,
  68.     GAD_SD,
  69.     NULL
  70. };
  71.  
  72. static struct Gadget GAD_EdB09 = {
  73.     &GAD_EdB10, 8, 208, 48, 48,
  74.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  75.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  76.     GTYP_BOOLGADGET,
  77.     (APTR) &WDWFImage, (APTR) &WDSFImage,
  78.     NULL, 0, NULL,
  79.     GAD_WD,
  80.     NULL
  81. };
  82.  
  83. static struct Gadget GAD_EdB08 = {
  84.     &GAD_EdB09, 58, 158, 48, 48,
  85.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  86.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  87.     GTYP_BOOLGADGET,
  88.     (APTR) &SLWFImage, (APTR) &SLSFImage,
  89.     NULL, 0, NULL,
  90.     GAD_SL,
  91.     NULL
  92. };
  93.  
  94. static struct Gadget GAD_EdB07 = {
  95.     &GAD_EdB08, 8, 158, 48, 48,
  96.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  97.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  98.     GTYP_BOOLGADGET,
  99.     (APTR) &WLWFImage, (APTR) &WLSFImage,
  100.     NULL, 0, NULL,
  101.     GAD_WL,
  102.     NULL
  103. };
  104.  
  105. static struct Gadget GAD_EdB06 = {
  106.     &GAD_EdB07, 58, 108, 48, 48,
  107.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  108.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  109.     GTYP_BOOLGADGET,
  110.     (APTR) &SSWFImage, (APTR) &SSSFImage,
  111.     NULL, 0, NULL,
  112.     GAD_SS,
  113.     NULL
  114. };
  115.  
  116. static struct Gadget GAD_EdB05 = {
  117.     &GAD_EdB06, 8, 108, 48, 48,
  118.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  119.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  120.     GTYP_BOOLGADGET,
  121.     (APTR) &WSWFImage, (APTR) &WSSFImage,
  122.     NULL, 0, NULL,
  123.     GAD_WS,
  124.     NULL
  125. };
  126.  
  127. static struct Gadget GAD_EdB04 = {
  128.     &GAD_EdB05, 58, 58, 48, 48,
  129.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  130.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  131.     GTYP_BOOLGADGET,
  132.     (APTR) &STWFImage, (APTR) &STSFImage,
  133.     NULL, 0, NULL,
  134.     GAD_ST,
  135.     NULL
  136. };
  137.  
  138. static struct Gadget GAD_EdB03 = {
  139.     &GAD_EdB04, 8, 58, 48, 48,
  140.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  141.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  142.     GTYP_BOOLGADGET,
  143.     (APTR) &WTWFImage, (APTR) &WTSFImage,
  144.     NULL, 0, NULL,
  145.     GAD_WT,
  146.     NULL
  147. };
  148.  
  149. static struct Gadget GAD_EdB02 = {
  150.     &GAD_EdB03, 58, 8, 48, 48,
  151.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE,
  152.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  153.     GTYP_BOOLGADGET,
  154.     (APTR) &SBWFImage, (APTR) &SBSFImage,
  155.     NULL, 0, NULL,
  156.     GAD_SB,
  157.     NULL
  158. };
  159.  
  160. static struct Gadget GAD_EdB01 = {
  161.     &GAD_EdB02, 8, 8, 48, 48,
  162.     GFLG_GADGHIMAGE | GFLG_GADGIMAGE | GFLG_SELECTED,
  163.     GACT_RELVERIFY  | GACT_IMMEDIATE | GACT_TOGGLESELECT,
  164.     GTYP_BOOLGADGET,
  165.     (APTR) &WBWFImage, (APTR) &WBSFImage,
  166.     NULL, 0, NULL,
  167.     GAD_WB,
  168.     NULL
  169. };
  170.  
  171. struct Gadget *Req_GL;
  172. struct Gadget *EdB_GL = &GAD_EdB01;
  173. struct Gadget *EdB_GL2;
  174. struct Gadget *Gad[STR_GADGETS];
  175. struct Gadget *GAD_MoveNum;
  176. struct Gadget *GAD_ToMove;
  177. struct Gadget *GAD_Ok;
  178.  
  179. void InitGads(void)
  180. {
  181.     struct Gadget    *gad;
  182.     int        i;
  183.  
  184.     for ( i = 0; i < GADGETS; i++ ) {
  185.         NGArray[i].ng_VisualInfo = vi;
  186.     }
  187.  
  188.     gad = CreateContext(&Req_GL);
  189.     Gad[0] = gad = CreateGadget(
  190.         STRING_KIND, gad, &NGArray[0],
  191.         GTST_MaxChars,            80,
  192.         STRINGA_Justification,    GACT_STRINGCENTER,
  193.         TAG_DONE
  194.     );
  195.     Gad[1] = gad = CreateGadget(
  196.         STRING_KIND, gad, &NGArray[1],
  197.         GTST_MaxChars,            80,
  198.         STRINGA_Justification,    GACT_STRINGCENTER,
  199.         TAG_DONE
  200.     );
  201.     Gad[2] = gad = CreateGadget(
  202.         STRING_KIND, gad, &NGArray[2],
  203.         GTST_MaxChars,            80,
  204.         STRINGA_Justification,    GACT_STRINGCENTER,
  205.         TAG_DONE
  206.     );
  207.     Gad[3] = gad = CreateGadget(
  208.         STRING_KIND, gad, &NGArray[3],
  209.         GTST_MaxChars,            80,
  210.         STRINGA_Justification,    GACT_STRINGCENTER,
  211.         TAG_DONE
  212.     );
  213.     Gad[4] = gad = CreateGadget(
  214.         STRING_KIND, gad, &NGArray[4],
  215.         GTST_MaxChars,            80,
  216.         STRINGA_Justification,    GACT_STRINGCENTER,
  217.         TAG_DONE
  218.     );
  219.     gad = CreateGadget(
  220.         BUTTON_KIND, gad, &NGArray[5],
  221.         TAG_DONE
  222.     );
  223.     gad = CreateGadget(
  224.         BUTTON_KIND, gad, &NGArray[6],
  225.         TAG_DONE
  226.     );
  227.     gad = CreateGadget(
  228.         BUTTON_KIND, gad, &NGArray[7],
  229.         TAG_DONE
  230.     );
  231.  
  232.     if ( ! gad )
  233.         ExitChess(11);
  234.  
  235.     gad = CreateContext(&EdB_GL2);
  236.  
  237.     GAD_Ok = gad = CreateGadget(
  238.         BUTTON_KIND, gad, &NGArray[8],
  239.         TAG_DONE
  240.     );
  241.     gad = CreateGadget(
  242.         BUTTON_KIND, gad, &NGArray[9],
  243.         TAG_DONE
  244.     );
  245.     gad = CreateGadget(
  246.         BUTTON_KIND, gad, &NGArray[10],
  247.         TAG_DONE
  248.     );
  249.     GAD_ToMove  = gad = CreateGadget(
  250.         CYCLE_KIND , gad, &NGArray[11],
  251.         GTCY_Labels,            ToMoveText,
  252.         GTCY_Active,            0,
  253.         TAG_DONE
  254.     );
  255.     GAD_MoveNum = gad = CreateGadget(
  256.         INTEGER_KIND, gad, &NGArray[12],
  257.         GTIN_Number,            1,
  258.         GTIN_MaxChars,            3,
  259.         STRINGA_Justification,    GACT_STRINGCENTER,
  260.         TAG_DONE
  261.     );
  262.  
  263.     if ( ! gad ) ExitChess(12);
  264. }
  265.  
  266. void FreeGads(void)
  267. {
  268.     FreeGadgets(Req_GL);
  269.     FreeGadgets(EdB_GL2);
  270. }
  271.